#include <iostream>
#include <vector>
#include <string>

using namespace std;

namespace yfy {

template <size_t N>
class bitset
{
public:
    bitset()
    {
        _bits.resize(N / 8 + 1, 0);
    }
    void set(size_t x)
    {
        size_t i = x / 8;   //计算出这个数在第几个char上
        size_t j = x % 8;   //计算出这个数在这个char中的第几个比特位上
        _bits[i] |= (1 << j);
    }
    void reset(size_t x)
    {
        size_t i = x / 8;   //计算出这个数在第几个char上
        size_t j = x % 8;   //计算出这个数在这个char中的第几个比特位上
        _bits[i] &= (~(1 << j));
    }
    bool test(size_t x)
    {
        size_t i = x / 8;   //计算出这个数在第几个char上
        size_t j = x % 8;   //计算出这个数在这个char中的第几个比特位上
        return _bits[i] & (1 << j);
    }
private:
    vector<char> _bits;
};

}